package main

import (
	"custom-oracledb-exporter/config"
	"custom-oracledb-exporter/pkg"
	"custom-oracledb-exporter/route"
	"custom-oracledb-exporter/service"
	"flag"
	"fmt"
	"os"
)

var (
	file string
)

func init() {
	// 配置命令行参数
	flag.StringVar(&file, "f", "config.toml", "指定配置文件")
	version := flag.Bool("v", false, "打印版本信息")
	flag.Parse()

	if *version {
		fmt.Println(pkg.FullVersion())
		os.Exit(1)
	}
}

func main() {
	// 加载配置文件
	config.LoadConfigToml(file)
	// 初始化日志
	pkg.InitLogger(config.C.Logger.Path)
	// 连接数据库
	pkg.InitOracleDB()
	// 暴露指标
	go service.ExposeMetrics()
	// 初始化路由
	route.InitRoute()

}
